/* global  expect, describe, it */

const Log = require('./fn')
const Admin = require('../admin/fn')

var admin = {}
describe('日志 - 初始化', function() {
  it('获取测试用户 | admin', function() {
    return Admin.checkList({ username: 'admin' }, (v) => {
      if (v.username === 'admin') admin = v
    })
  })
})
describe('日志 - 列表', function() {
  it('列表 - 后台', function() {
    return Log.checkList({ type: 'admin' }, (one) => {
    })
  })

  it('列表 - 登录', function() {
    return Log.checkList({ type: 'login' }, (one) => {
    })
  })

  it('列表 - 推送', function() {
    return Log.checkList({ type: 'push' }, (one) => {
    })
  })

  it('列表 - 接口', function() {
    return Log.checkList({ type: 'api' }, (one) => {
    })
  })

  it('后台列表 - 过滤管理员| admin', function() {
    var con = { type: 'admin', opuser: admin._id }
    return Log.checkList(con, (one) => {
      expect(one.opuser).to.equal(admin._id)
      expect(one.opname).to.equal(admin.username)
    })
  })

  it('接口列表 - 过滤应用| autoTest', function() {
    var con = { type: 'admin', opuser: admin._id }
    return Log.checkList(con, (one) => {
      expect(one.opuser).to.equal(admin._id)
      expect(one.opname).to.equal(admin.username)
    })
  })

  it('列表 - 2页5条', function() {
    return Log.checkList({ page: 2, limit: 5 })
  })
  it('列表 - 1页20条', function() {
    return Log.checkList({ page: 1, limit: 20 })
  })
  it('列表 - 99页10条', function() {
    return Log.checkList({ page: 99, limit: 10 })
  })
})
